﻿#include<iostream>
#include<stdio.h>
using namespace std;

//int main()
//{
//	string str("Hello Bit.");
//	str.reserve(111);
//
//	str.resize(5);//保留5个字符
//
//	str.reserve(50);//vs不可减空间
//	cout << str.size() << ":" << str.capacity() << endl;
//
//	return 0;
//}

//void string_test1()
//{
//	string s1;
//	string s2("hello world");
//	string s3(s2);
//
//	string s4(s2, 3, 5);
//	string s5(s2, 3);
//	string s6(s2, 3, 30);
//	string s7("hello world", 5);
//	string s8(10, 'x');
//
//	//cin >> s1;
//	cout << s1 << endl;
//	cout << s2 << endl;
//	cout << s3 << endl;
//	cout << s4 << endl;
//	cout << s5 << endl;
//	cout << s6 << endl;
//	cout << s7 << endl;
//	cout << s8 << endl;
//}
//void push_back(const string& s)
//{
//
//}
//
//void string_test2()
//{
//	string s1("hello world");
//	cout << s1 << endl;
//
//	s1.assign("111111");
//	cout << s1 << endl;
//
//	string s2("hello world");
//	s2.insert(0, "xxxx");
//	cout << s2 << endl;
//
//	char ch = 'y';
//	//cin >> ch;
//	s2.insert(0, 1, ch);
//	cout << s2 << endl;
//
//	s2.insert(s2.begin(), 'y');
//	cout << s2 << endl;
//
//	s2.insert(s2.begin(), s1.begin(), s1.end());
//	cout << s2 << endl;
//}
//
//void string_test3()
//{
//	string s1("hello world");
//	cout << s1 << endl;
//
//	//s1.erase(5, 100);
//	s1.erase(5);
//	cout << s1 << endl;
//
//	string s2("hello world");
//	s2.replace(5, 1, "x");
//	cout << s2 << endl;
//
//	string s3("hello world hello world hello world");
//	for (size_t i = 0; i < s3.size();)
//	{
//		if (s3[i] == ' ')
//		{
//			s3.replace(i, 1, "*");
//			i += 1;
//		}
//		else
//		{
//			i++;
//		}
//	}
//	cout << s3 << endl;
//
//	string s4("hello world hello world hello world");
//	string s5;
//	for (auto ch : s4)
//	{
//		if (ch != ' ')
//		{
//			s5 += ch;
//		}
//		else
//		{
//			s5 += "*";
//		}
//	}
//	cout << s5 << endl;
//
//}
//
//void testpushack()
//{
//	string s;
//	s.reserve(200);
//	s[100] = 'x';
//
//	size_t sz = s.capacity();
//	cout << "capacity changed: " << sz << '\n';
//
//	cout << "making s grow:\n";
//	for (int i = 0; i < 200; ++i)
//	{
//		s.push_back('c');
//		if (sz != s.capacity())
//		{
//			sz = s.capacity();
//			cout << "capacity changed:" << sz << '\n';
//		}
//	}
//}
//
//void test_string4()
//{
//	//string s1("hello world");
//	/*string s1;
//	cout << s1.size() << endl;
//	cout << s1.capacity() << endl;
//	cout << s1.max_size() << endl;
//	for (size_t i = 0; i < s1.max_size(); i++)
//	{
//		s1 += 'x';
//	}
//	cout << s1.size() << endl;*/
//
//	//testpushack();
//
//	string s1("11111111");
//	string s2("111111111111111111111111");
//
//	cout << s1.capacity() << endl;
//
//	s1.reserve(100);
//	cout << s1.capacity() << endl;
//
//	s1.reserve(20);
//	cout << s1.capacity() << endl;
//}
//
//void test_string5()
//{
//	string s1;
//	s1.resize(5, '0');
//	cout << s1 << endl;
//	s1.resize(5);
//	s1[4] = '3';
//	s1[3] = '4';
//	s1[2] = '5';
//	s1[1] = '6';
//	s1[0] = '7';
//	cout << s1 << endl;
//
//	string s2("hello world");
//	s2.resize(20, 'x');
//	cout << s2 << endl;
//
//	s2.resize(5);
//	cout << s2 << endl;
//	
//}
//
//void test_string6()
//{
//	string file("string.cpp.zip");
//	size_t pos = file.rfind('.');
//	string suffix = file.substr(pos);
//	cout << suffix << endl;
//}
//
//
//int main()
//{
//	//string_test1();
//	//string_test2();
//	//string_test3();
//	//testpushack();
//	//test_string4();
//	//test_string5();
//	test_string6();
//	return 0;
//}﻿